Missed portion of domU initrd patch
authordjm@kirby.fc.hp.com <djm@kirby.fc.hp.com>
Fri, 23 Dec 2005 21:14:21 +0000 (15:14 -0600)
committerdjm@kirby.fc.hp.com <djm@kirby.fc.hp.com>
Fri, 23 Dec 2005 21:14:21 +0000 (15:14 -0600)
Signed-off-by: <takebe_akio@jp.fujitsu.com>
xen/arch/ia64/xen/dom_fw.c

index b0b89a324d69c23e19d38e9d643bb0175836294f..da10e6ea94d9e9bee16ead6949349e24cdbd7f67 100644 (file)
@@ -861,12 +861,16 @@ dom_fw_init (struct domain *d, char *args, int arglen, char *fw_mem, int fw_mem_
        bp->console_info.orig_x = 0;
        bp->console_info.orig_y = 24;
        bp->fpswa = 0;
-        bp->initrd_start = (dom0_start+dom0_size) -
-                (PAGE_ALIGN(ia64_boot_param->initrd_size) + 4*1024*1024);
-        bp->initrd_size = ia64_boot_param->initrd_size;
-                printf(" initrd start %0xlx", bp->initrd_start);
-                printf(" initrd size %0xlx", bp->initrd_size);
-
-
+       if (d == dom0) {
+               bp->initrd_start = (dom0_start+dom0_size) -
+                 (PAGE_ALIGN(ia64_boot_param->initrd_size) + 4*1024*1024);
+               bp->initrd_size = ia64_boot_param->initrd_size;
+       }
+       else {
+               bp->initrd_start = d->arch.initrd_start;
+               bp->initrd_size  = d->arch.initrd_len;
+       }
+       printf(" initrd start %0xlx", bp->initrd_start);
+       printf(" initrd size %0xlx", bp->initrd_size);
        return bp;
 }